    REM SVGAPB GRAPHICS LIBRARY INCLUDE FILE FOR USE WITH 
    REM POWERBASIC INC.'S POWER BASIC 3.00c AND LATER
    REM COPYRIGHT 1993-1996 BY STEPHEN L. BALKUM AND DANIEL A. SILL
    REM ZEPHYR SOFTWARE P.O. BOX 7704, AUSTIN, TEXAS  78713-7704
    REM LAST UPDATE 1/1/95

    TYPE P2DType
        X AS INTEGER
        Y AS INTEGER
    END TYPE

    TYPE P3Dtype
        X AS INTEGER
        Y AS INTEGER
        Z AS INTEGER
    END TYPE

    TYPE PROJType
        EYEX AS INTEGER
        EYEY AS INTEGER
        EYEZ AS INTEGER
        SCRD AS INTEGER
        THETA AS INTEGER
        PHI AS INTEGER
    END TYPE

    TYPE RGBType
        R AS BYTE
        G AS BYTE
        B AS BYTE
    END TYPE

    DECLARE SUB BLKGET (BYVAL X1%, BYVAL Y1%, BYVAL X2%, BYVAL Y2%, SEG GfxBlk%)
    DECLARE SUB BLKPUT (BYVAL Mode%, BYVAL X%, BYVAL Y%, SEG GfxBlk%)
    DECLARE SUB BLKRESIZE (BYVAL X%, BYVAL Y%, SEG SourceGfxBlk%, SEG DestGfxBlk%)
    DECLARE FUNCTION BLKROTATE% (BYVAL Ang%, BYVAL BackFill%, SEG SourceGfxBlk%, SEG DestGfxBlk%)
    DECLARE FUNCTION BLKROTATESIZE& (BYVAL Ang%, SEG SourceGfxBlk%)
    DECLARE SUB BYTECOPY (SEG SourceArray%, SEG DestArray%, BYVAL NumOfBytes&)
    DECLARE SUB D2ROTATE (BYVAL Points%, BYVAL XOrigin%, BYVAL YOrigin%, BYVAL Ang%, SEG InAry%, SEG OutAry%)
    DECLARE SUB D2SCALE (BYVAL Points%, BYVAL XSCALE%, BYVAL YSCALE%, SEG InAry%, SEG OutAry%)
    DECLARE SUB D2TRANSLATE (BYVAL Points%, BYVAL XTRANS%, BYVAL YTRANS%, SEG InAry%, SEG OutAry%)
    DECLARE FUNCTION D3PROJECT% (BYVAL Points%, SEG ProjParms%, SEG InAry%, SEG OutAry%)
    DECLARE SUB D3ROTATE (BYVAL Points%, BYVAL XOrigin%, BYVAL YOrigin%, BYVAL ZOrigin%, BYVAL ZRAng%, BYVAL YRAng%, BYVAL XRAng%, SEG InAry%, SEG OutAry%)
    DECLARE SUB D3SCALE (BYVAL Points%, BYVAL XSCALE%, BYVAL YSCALE%, BYVAL ZScale%, SEG InAry%, SEG OutAry%)
    DECLARE SUB D3TRANSLATE (BYVAL Points%, BYVAL XTRANS%, BYVAL YTRANS%, BYVAL ZTrans%, SEG InAry%, SEG OutAry%)
    DECLARE SUB DRWALINE (BYVAL ColrBits%, BYVAL Colr%, BYVAL X1%, BYVAL Y1%, BYVAL X2%, BYVAL Y2%)
    DECLARE SUB DRWBOX (BYVAL Mode%, BYVAL Colr%, BYVAL X1%, BYVAL Y1%, BYVAL X2%, BYVAL Y2%)
    DECLARE SUB DRWCIRARC (BYVAL Mode%, BYVAL Colr%, BYVAL CenterX%, BYVAL CenterY%, BYVAL Radius%, BYVAL StartAng&, BYVAL EndAng&)
    DECLARE SUB DRWCIRCLE (BYVAL Mode%, BYVAL Colr%, BYVAL CenterX%, BYVAL CenterY%, BYVAL Radius%)
    DECLARE SUB DRWCUBICBEZIER (BYVAL Mode%, BYVAL Colr%, SEG Pon1%, SEG Poff1%, SEG Poff2%, SEG Pon2%)
    DECLARE SUB DRWELLARC (BYVAL Mode%, BYVAL Colr%, BYVAL CenterX%, BYVAL CenterY%, BYVAL RadiusX%, BYVAL RadiusY%, BYVAL StartAng&, BYVAL EndAng&)
    DECLARE SUB DRWELLIPSE (BYVAL Mode%, BYVAL Colr%, BYVAL CenterX%, BYVAL CenterY%, BYVAL Radiusx%, BYVAL Radiusy%)
    DECLARE SUB DRWFILLBOX (BYVAL Mode%, BYVAL Colr%, BYVAL X1%, BYVAL Y1%, BYVAL X2%, BYVAL Y2%)
    DECLARE SUB DRWFILLCIRCLE (BYVAL Mode%, BYVAL Colr%, BYVAL CenterX%, BYVAL CenterY%, BYVAL Radius%)
    DECLARE SUB DRWFILLELLIPSE (BYVAL Mode%, BYVAL Colr%, BYVAL CenterX%, BYVAL CenterY%, BYVAL Radiusx%, BYVAL Radiusy%)
    DECLARE SUB DRWLINE (BYVAL Mode%, BYVAL Colr%, BYVAL X1%, BYVAL Y1%, BYVAL X2%, BYVAL Y2%)
    DECLARE SUB DRWPOINT (BYVAL Mode%, BYVAL Colr%, BYVAL X%, BYVAL Y%)
    DECLARE SUB DRWSTRING (BYVAL Mode%, BYVAL FColr%, BYVAL BColr%, Strng$, BYVAL X%, BYVAL Y%)
    DECLARE SUB DRWSTRINGDN (BYVAL Mode%, BYVAL FColr%, BYVAL BColr%, Strng$, BYVAL X%, BYVAL Y%)
    DECLARE SUB DRWSTRINGLT (BYVAL Mode%, BYVAL FColr%, BYVAL BColr%, Strng$, BYVAL X%, BYVAL Y%)
    DECLARE SUB DRWSTRINGRT (BYVAL Mode%, BYVAL FColr%, BYVAL BColr%, Strng$, BYVAL X%, BYVAL Y%)
    DECLARE SUB FILLAREA (BYVAL Xseed%, BYVAL Yseed%, BYVAL BorderColr%, BYVAL FillColr%)
    DECLARE SUB FILLCOLOR (BYVAL Xseed%, BYVAL Yseed%, BYVAL OldColr%, BYVAL NewColr%)
    DECLARE SUB FILLCONVEXPOLY (BYVAL Colr%, BYVAL Points%, SEG InAry%)
    DECLARE SUB FILLPOLY (BYVAL Colr%, BYVAL Points%, SEG InAry%)
    DECLARE SUB FILLSCREEN (BYVAL Colr AS INTEGER)
    DECLARE SUB FILLPAGE (BYVAL Colr%)
    DECLARE SUB FILLVIEW (BYVAL Colr%)
    DECLARE SUB FONTGETINFO (SEG WDTH%, SEG HGHT%)
    DECLARE SUB FONTSET (SEG FONT?)
    DECLARE SUB FONTSYSTEM ()
    DECLARE FUNCTION GETARCCOS% (BYVAL Value&)
    DECLARE FUNCTION GETARCSIN% (BYVAL Value&)
    DECLARE FUNCTION GETARCTAN% (BYVAL Value&)
    DECLARE FUNCTION GETCOS& (BYVAL Ang&)
    DECLARE FUNCTION GETSIN& (BYVAL Ang&)
    DECLARE FUNCTION GETTAN& (BYVAL Ang&)
    DECLARE FUNCTION GETSQRT& (BYVAL Number&)
    DECLARE FUNCTION GETMAXX% ()
    DECLARE FUNCTION GETMAXY% ()
    DECLARE SUB GETLASTSTRING (SEG StrngGfxBlk%)
    DECLARE FUNCTION GETPOINT% (BYVAL X%, BYVAL Y%)
    DECLARE SUB JOYSTICKINFO (SEG JAX%, SEG JAY%, SEG JAButs%, SEG JBX%, SEG JBY%, SEG JBButs%)
    DECLARE SUB MOUSEBUTPRESS (BYVAL ReqBut%, SEG Xloc%, SEG Yloc%, SEG Num%, SEG MButs%)
    DECLARE SUB MOUSEBUTRELEASE (BYVAL ReqBut%, SEG Xloc%, SEG Yloc%, SEG Num%, SEG MButs%)
    DECLARE SUB MOUSECURSORDEFAULT ()
    DECLARE SUB MOUSECURSORSET (SEG MouseCursor?)
    DECLARE SUB MOUSEENTER ()
    DECLARE SUB MOUSEEXIT ()
    DECLARE SUB MOUSEHIDE ()
    DECLARE SUB MOUSEINFO (SEG DrvMajorVer%, SEG DrvMinorVer%, SEG MouseType%, SEG IRQnumber%)
    DECLARE SUB MOUSELOCSET (BYVAL Xloc%, BYVAL Yloc%)
    DECLARE SUB MOUSERANGESET (BYVAL X1%, BYVAL Y1%, BYVAL X2%, BYVAL Y2%)
    DECLARE SUB MOUSERESTORESTATE (SEG MouseBuf?)
    DECLARE SUB MOUSESAVESTATE (SEG MouseBuf?)
    DECLARE SUB MOUSESENSSET (BYVAL Xsens%, BYVAL Ysens%,BYVAL DblSpedThrshold%)
    DECLARE SUB MOUSESHOW ()
    DECLARE SUB MOUSESTATUS (SEG X%, SEG Y%, SEG MButs%)
    DECLARE FUNCTION MOUSESTORAGESIZE% ()
    DECLARE SUB OVERSCANSET (BYVAL Colr%)
    DECLARE FUNCTION PAGEDISPLAY% (BYVAL X%, BYVAL Y%, BYVAL Page%)
    DECLARE FUNCTION PAGEACTIVE% (BYVAL Page%)
    DECLARE SUB PALCHGAUTO (SEG Pal AS RGBType, SEG NewPal AS RGBType, BYVAL FirstColr%, BYVAL LastColr%, BYVAL Speed%)
    DECLARE SUB PALCHGSTEP (SEG Pal AS RGBType, SEG NewPal AS RGBType, BYVAL FirstColr%, BYVAL LastColr%, BYVAL Percent%)
    DECLARE SUB PALCOPY (SEG SourcePal AS RGBType, SEG DestPal AS RGBType, BYVAL FirstColr%, BYVAL LastColr%)
    DECLARE SUB PALDIMSTEP (SEG Pal AS RGBType, BYVAL FirstColr%, BYVAL LastColr%, BYVAL Percent%)
    DECLARE SUB PALGET (SEG Pal AS RGBType, BYVAL FirstColr%, BYVAL LastColr%)
    DECLARE SUB PALIOAUTO (SEG Pal AS RGBType, BYVAL FirstColr%, BYVAL LastColr%, BYVAL Speed%)
    DECLARE SUB PALROTATE (SEG Pal AS RGBType, BYVAL FirstColr%, BYVAL LastColr%, BYVAL ColShift%)
    DECLARE SUB PALSET (SEG Pal AS RGBType, BYVAL FirstColr%, BYVAL LastColr%)
    DECLARE FUNCTION PCXMAKE% (BYVAL X1%, BYVAL Y1%, BYVAL X2%, BYVAL Y2%,SEG FileName$)
    DECLARE FUNCTION PCXGETINFO% (SEG FileName$, SEG GifXSize%, SEG GifYSize%, SEG NumColors%, Pal AS RGBType)
    DECLARE FUNCTION PCXPUT% (BYVAL Mode%, BYVAL Xloc%, BYVAL Yloc%, SEG FileName$)
    DECLARE FUNCTION RES320% ()
    DECLARE FUNCTION RES640L% ()
    DECLARE FUNCTION RES640% ()
    DECLARE FUNCTION RES800% ()
    DECLARE FUNCTION RES1024% ()
    DECLARE FUNCTION RES1280% ()
    DECLARE FUNCTION RESTEXT% ()
    DECLARE SUB SCROLLDN (BYVAL X1%, BYVAL Y1%, BYVAL X2%, BYVAL Y2%, BYVAL Num%, BYVAL Colr%)
    DECLARE SUB SCROLLLT (BYVAL X1%, BYVAL Y1%, BYVAL X2%, BYVAL Y2%, BYVAL Num%, BYVAL Colr%)
    DECLARE SUB SCROLLRT (BYVAL X1%, BYVAL Y1%, BYVAL X2%, BYVAL Y2%, BYVAL Num%, BYVAL Colr%)
    DECLARE SUB SCROLLUP (BYVAL X1%, BYVAL Y1%, BYVAL X2%, BYVAL Y2%, BYVAL Num%, BYVAL Colr%)
    DECLARE SUB SDELAY (BYVAL Count%)
    DECLARE SUB SETCARD (BYVAL CHIP%, BYVAL MEM%)
    DECLARE SUB SETVIEW (BYVAL X1%, BYVAL Y1%, BYVAL X2%, BYVAL Y2%)
    DECLARE SUB SPRITEGAP (BYVAL TransColr%, BYVAL X%, BYVAL Y%, SEG SpriteGfxBlk%, SEG BkgndGfxBlk%)
    DECLARE SUB SPRITEGET (BYVAL TransColr%, BYVAL X%, BYVAL Y%, SEG SpriteGfxBlk%, SEG BkgndGfxBlk%)
    DECLARE SUB SPRITEPUT (BYVAL Mode%, BYVAL TransColr%, BYVAL X%, BYVAL Y%, SEG SpriteGfxBlk%)
    DECLARE FUNCTION SPRITECOLLDETECT% (BYVAL TransColr%, BYVAL Sprite1LocX%, BYVAL Sprite1LocY%, BYVAL Sprite2LocX%, BYVAL Sprite2LocY%, SEG Sprite1GfxBlk%, SEG Sprite2GfxBlk%)
    DECLARE FUNCTION VIDEOMODEGET% ()
    DECLARE SUB VIDEOMODESET (BYVAL Mode%)
    DECLARE SUB VIDEOOFF ()
    DECLARE SUB VIDEOON ()
    DECLARE FUNCTION WHICHCPU% ()
    DECLARE FUNCTION WHICHJOYSTICK% ()
    DECLARE FUNCTION WHICHMEM% ()
    DECLARE FUNCTION WHICHMOUSE% ()
    DECLARE FUNCTION WHICHVGA% ()
    DECLARE FUNCTION WHICHXMS% (SEG XmsKbytesAvailable%, SEG XmsHandlesAvailable%)
    DECLARE FUNCTION XMSALLOCATE% (BYVAL ReqKbytesOfMem%)
    DECLARE FUNCTION XMSBLKGET% (BYVAL X1%, BYVAL Y1%, BYVAL X2%, BYVAL Y2%)
    DECLARE FUNCTION XMSBLKPUT% (BYVAL Mode%, BYVAL X%, BYVAL Y%, BYVAL XmsHandle%)
    DECLARE FUNCTION XMSCOPY% (BYVAL XmsHandle1%, BYVAL OffsetIntoXms1&, BYVAL XmsHandle2%, BYVAL OffsetIntoXms2&, BYVAL NumOfBytes&)
    DECLARE FUNCTION XMSERROR% ()
    DECLARE FUNCTION XMSFREE% (BYVAL XmsHandle%)
    DECLARE FUNCTION XMSGET% (BYVAL XmsHandle%, BYVAL OffsetIntoXms&, SEG DestVar%, BYVAL NumOfBytes&)
    DECLARE FUNCTION XMSPUT% (SEG SourceVar%, BYVAL XmsHandle%, BYVAL OffsetIntoXms&, BYVAL NumOfBytes&)
    DECLARE FUNCTION XMSSCREENGET% ()
    DECLARE FUNCTION XMSSCREENPUT% (BYVAL XmsHandle%)

    
    

 